1 | SA17011008 陈实 2017年10月10日 实验 2 |
[TOC]
#一、实验要求
1 | 修改例程cryptoDemo.cpp为encfile.cpp,从命令行接受参数3个字符串类型的参数:参数1,参数2,参数3。参数1=enc表示加密,参数1=dec表示解密;参数2为待加密、解密的文件;参数3为密码。 |
#二、实验准备
1 | VirtualBox |
安装openssl库,使用命令:
1 | sudo apt-get install libssl-dev |
#三、实验过程
##3.1 试验cryptoDemo.cpp效果
1 | //程序源码 |
利用gcc编译,并执行
1 | gcc -o cryp cryptoDemo.cpp -lcrypto |
##3.2 改写原demo
- 修改例程cryptoDemo.cpp为encfile.cpp,
- 从命令行接受参数3个字符串类型的参数:参数1,参数2,参数3。
- 参数1=enc表示加密,参数1=dec表示解密;参数2为待加密、解密的文件;参数3为密码。
修改部分:拆解原demo,加上文件读写即可,代码如下
1 | // cryptoDemo.cpp : Defines the entry point for the console application. |
编译encfile.cpp
写完之后,在终端下,执行下面的操作,进行编译,生成encfile
1 | gcc -o encfile encfile.cpp -lcrypto |
执行加密
1 | ./encfile enc file 0123456789ABCDEFGHIJK |
执行解密
1 | ./encfile dec file_encrypt 0123456789ABCDEFGHIJK |
可以看出,加密前后的内容是一致的。
#四、实验心得
通过这次试验,对 aes 加密解密有了简单的了解,并简单实验了加密和解密过程,将处理后的信息保存下来。通过这次实验自己亲手体会了其中加密和解密的过程,收获很大。